﻿using System;
using System.Collections.Generic;
using System.Web;
using Microsoft.AspNet.Membership.OpenAuth;

namespace DemoASPNET.Account
{
  public partial class OpenAuthProviders : System.Web.UI.UserControl
  {
    protected void Page_Load(object sender, EventArgs e)
    {

      if (IsPostBack)
      {
        var provider = Request.Form["provider"];
        if (provider == null)
        {
          return;
        }

        var redirectUrl = "~/Account/RegisterExternalLogin";
        if (!String.IsNullOrEmpty(ReturnUrl))
        {
          var resolvedReturnUrl = ResolveUrl(ReturnUrl);
          redirectUrl += "?ReturnUrl=" + HttpUtility.UrlEncode(resolvedReturnUrl);
        }

        OpenAuth.RequestAuthentication(provider, redirectUrl);
      }
    }



    public string ReturnUrl { get; set; }


    public IEnumerable<ProviderDetails> GetProviderNames()
    {
      return OpenAuth.AuthenticationClients.GetAll();
    }

  }
}